package com.dys.testmethodreference10;

import java.util.Date;
import java.util.function.Supplier;

/**
 * @className: com.dys.testmethodreference10.MethodReference03
 * @description: 方法引用：对象::方法名
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/01 下午4:15
 */
public class MethodReference03 {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        Date date = new Date();
        // 使用lambda表达式处理
        Supplier<Long> supplier = () -> {
            return date.getTime();
        };
        Long time = supplier.get();
        System.out.println(time);
        // 通过方法引用的方式来处理：被引用的方法，参数要和接口中的抽象方法的参数一样，
        // 当接口抽象方法有返回值时，被引用的方法也必须有返回值
        Supplier<Long> supplier1 = date::getTime;
        Long time1 = supplier1.get();
        System.out.println(time1);
    }
}
